package com.hspedu.extend_;

public class ExtendsTheory {
    public static void main(String[] args) {
        Son son = new Son(); //内存到底发生了什么
        //?-> 这时要按照查找关系来返回信息
        //1.先看看子类是否有该属性
        //2.如果子类有这个属性，并且可以访问，则返回信息
        //3.如果子类没有这个属性，就看父类有没有这个属性(如果父类有该属性，并且可以访问，就返回信息..)
        //4.如果父类没有就按照 3. 的原则，继续找上级父类，直到Object...
        System.out.println(son.name);//返回的就是大头儿子
//        System.out.println(son.age);//不行，报错，说age在father类中，且是私有的
        System.out.println(son.getAge());//返回的是39
        System.out.println(son.hobby);
    }
}

class GrandPa{//爷爷类
    String name = "大头爷爷";
    String hobby = "旅游";
    int age = 100;
}
class Father extends  GrandPa{//父类
    String name = "大头爸爸";
    private int age = 39;

    public int getAge() {
        return age;
    }
}

class Son extends Father{ //子类
    String name = "大头儿子";
}